namespace SimpleWebServices.Web.Mvc
{
    using System;
    using System.Web.Mvc;
    using System.Web.Routing;
    using SimpleWebServices;
    using Xunit;

    public sealed class GenericMvcHandlerFacts
    {
        [Fact]
        public void typedef()
        {
            Assert.True(new ObjectExpectations<GenericMvcHandler<NotFoundController>>()
                .DerivesFrom<MvcHandler>()
                .IsConcreteClass()
                .IsSealed()
                .NoDefaultConstructor()
                .Result);
        }

        [Fact]
        public void ctor_RequestContextNull()
        {
            Assert.Throws<ArgumentNullException>(() => new GenericMvcHandler<NotFoundController>(null as RequestContext));
        }
    }
}